Starbucks Offer Personalizations

Starbucks Offer Personalizations

In this article, we investigate a set simulated dataset that mimics customer behavior on the Starbucks rewards mobile app. Starbucks tends to send out offers to users of the mobile app once every few days. These offers are exclusive, that is not all users receive the same offer. An offer can contain a discount for their products or sometimes BOGO (buy one get one free). These offers have a validity period before the offer expires. The article here is inspired by a towardsdatascience.com article.

Loading the Datasets

Feature Description in the Datasets
Feature Description
Reward (int) Given reward for completing an offer
Channels (list of strings) Email, mobile app, social media, etc
Difficulty (int) Minimum spending requirement for completing an offer
Duration (int) Time that an offer is valid
Offer_Type (string) Type of offer
ID (string) Offer ID
Feature Description
Gender (str) Customers gender
Age (int) Customers age
ID (str) Customers ID
Became_Member_On (int) Date of membership
Income (float) Customer's income
Feature Description
Person (str) Customer ID
Event (str) Record description
time (int) Time in hours (since the beginning of the study)
Value - (dict of strings) Offer ID or transaction amount

Exploratory Data Analysis

In this section, a variety of plots are provided to a better understanding of the relationships between features.

Channel Distribution for Various Offers

It seems that social media is the least efficient channel among all.

Age Distribution

Costumers are mainly from the age group 50-60.

Income Distribution

Most of the customers' income is around 60K.

Gender Distribution

The number of male customers is larger than the number of female customers.

Memberships

Membership Growth Over Year by Gender

Assuming the data is a snapshot of the end of 2018. get member tenure by the number of months.

Event Plots

A Customer's Journey

First off,

Now, let's focus on those customers that completed an offer.

The journey of one of these customers can be analyzed as well. For example, the first customer from the above list

Feature Difference by Offer Combination

To have plots for this part. We need to calulate transactions amount without any offers and The number of transaction without any offers.

Metric Average of Offer Type Combinations plots

In the following tables and plots, (BOGO Offer, Discount Offer, Informational Offer) shows that what offer has been used. For example, (1,1,0) means people who respond to BOGO Offers and Discount Offers but not Informational Offers.

We would like to know how the overall offer completion rate, transaction amount ratio motivated by an offer, and reward per offer affected by the user demographics.

Offer Completion, Offer Transaction Amount and Reward Per Offer by Gender

Offer Conversion Rate